/**
 * 获取SD60ID身份证设备读取信息参数
 */
export interface Sd60IdInforParameter {
	/**
	 * 循环读取
	 */
	Loop?: boolean;
	/**
	 * 循环间隔，毫秒
	 */
	Interval?: number;
}

/**
 * SD60ID身份证信息体
 */
export interface Sd60IdInfor {
	/**
	 * 原生代码报错
	 */
	NativeError?: string;
	/**
	 * 初始化完成
	 */
	Initialization?: boolean;
	name: string;
	sex: string;
	nation: string;
	year: string;
	month: string;
	day: string;
	address: string;
	num: string;
	QianFa: string;
	startMonth: string;
	startDay: string;
	endYear: string;
	endMonth: string;
	endDay: string;
	deadLine: string;
	bmps: ArrayBuffer;
	image: string;
	fingerprStringer: ArrayBuffer;
	isSuccess: boolean;
	errorMsg: string;
	withFinger: boolean;
}

/**
 * 获取SD60ID身份证设备读取信息回调函数
 */
export type Sd60IdInforCallBack = (Sd60IdInfor: Sd60IdInfor) => void;

export interface SpeedataPlugin {
	/**
	 * 初始化SD60ID身份证设备读取
	 */
	initSd60Id(Sd60IdInforCallBack: Sd60IdInforCallBack): Promise<string>;
	/**
	 * 获取SD60ID身份证设备读取信息
	 * @param Sd60IdInforParameter 
	 */
	getSd60IdInfor(Sd60IdInforParameter?: Sd60IdInforParameter): Promise<void>;
	/**
	 * 停止获取SD60ID身份证设备读取信息
	 */
	stopGetSd60IdInfor(): Promise<void>;
	/**
	 * 释放设备
	 */
	releaseSd60Id(): Promise<void>;
}
